let count = 1

function A() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      count = 100
      resolve()    // 将 promise 的状态改为 resolve
    }, 1000)
  })
}

function B() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      count = 200
      resolve()
    }, 1000)
  })
}

function C() {
  console.log(count);
}

// A().then(() => {
//   B().then(() => {
//     C()
//   })
// })

// A()
//   .then(() => {
//     B()
//   })
//   .then(() => {
//     C()
//   })

A()
  .then(() => {
    return B()
  })
  .then(() => {
    C()
  })











// // 0ms后 A 就返回了一个 promise 对象，但是这个promise对象的状态为 pending
// // 1000ms后 A 的 promise 对象状态变为 resolved
// // then 中的回调函数 B 才会执行
// A().then((res) => {
//   B()
//   console.log(res);   // 输出 ok
// })